home *** CD-ROM | disk | FTP | other *** search
/ Quick PC 61 / Quick PC 61.iso / I386 / UDDIWEB.MSI / editbinding.aspx < prev    next >
Encoding:
Text File  |  2003-02-21  |  13.6 KB  |  430 lines

  1. <!-- ############################################################################ -->
  2. <!-- ## UDDI Services                                                          ## -->
  3. <!-- ## Copyright (c) Microsoft Corporation.  All rights reserved.             ## -->
  4. <!-- ############################################################################ -->
  5.  
  6. <%@ Page Language='C#' Inherits='UDDI.Web.UddiPage' %>
  7. <%@ Register TagPrefix='uddi' Namespace='UDDI.Web' Assembly='uddi.web' %>
  8. <%@ Register Tagprefix='uddi' Tagname='Footer' Src='../controls/footer.ascx' %>
  9. <%@ Register Tagprefix='uddi' Tagname='Header' Src='../controls/header.ascx' %>
  10. <%@ Register Tagprefix='uddi' Tagname='BreadCrumb' Src='../controls/breadcrumb.ascx' %>
  11. <%@ Register Tagprefix='uddi' Tagname='Descriptions' Src='../controls/descriptions.ascx' %>
  12. <%@ Register TagPrefix='uddi' Tagname='InstanceInfos' Src='../controls/instanceinfos.ascx' %>
  13. <%@ Import Namespace='UDDI' %>
  14. <%@ Import Namespace='UDDI.API' %>
  15. <%@ Import Namespace='UDDI.API.Business' %>
  16. <%@ Import Namespace='UDDI.API.Binding' %>
  17. <%@ Import Namespace='UDDI.API.ServiceType' %>
  18. <%@ Import Namespace='System.Data' %>
  19.  
  20. <script language='C#' runat='server'>
  21.     protected BindingTemplate binding = new BindingTemplate();
  22.     protected TModelInstanceInfoCollection bindingInstanceInfos = new TModelInstanceInfoCollection();
  23.     
  24.     protected bool frames = false;
  25.     protected string key;
  26.     protected string mode;
  27.     
  28.     protected void Page_Init( object sender, EventArgs e )
  29.     {
  30.         frames = ( "true" == Request[ "frames" ] );
  31.         key = Request[ "key" ];
  32.         mode = Request[ "mode" ];
  33.         
  34.         if( null == key )
  35.         {
  36. #if never
  37.             throw new UDDIException(
  38.                 ErrorType.E_fatalError,
  39.                 "Missing required parameter 'key'." );
  40. #endif
  41.             throw new UDDIException( ErrorType.E_fatalError, "UDDI_ERROR_MISSING_REQUIRED_KEY_PARAMETER" );
  42.  
  43.         }
  44.         
  45.         switch( mode )
  46.         {
  47.             case "add":
  48.                 binding.AccessPoint.Value = "http://";
  49.                 binding.AccessPoint.URLType = URLType.Http;
  50.                   binding.ServiceKey = key;
  51.                 binding.Save();
  52.                 
  53.                 if( frames )
  54.                 {
  55.                     //
  56.                     // Reload explorer and view panes.
  57.                     //
  58.                     Response.Write(
  59.                         ClientScripts.ReloadExplorerAndViewPanes( 
  60.                             "editbinding.aspx?key=" + binding.BindingKey + ( frames ? "&frames=true" : "" ),
  61.                             binding.BindingKey ) );
  62.                 
  63.                     Response.End();
  64.                 }
  65.                 else
  66.                 {
  67.                     Response.Redirect( "editbinding.aspx?key=" + binding.BindingKey + ( frames ? "&frames=true" : "" ) );
  68.                     Response.End();
  69.                 }
  70.                 
  71.                 break;
  72.                 
  73.             case "delete":
  74.                 binding.BindingKey = key;
  75.                 binding.Get();                
  76.  
  77.                 if( null == Request[ "confirm" ] )
  78.                 {
  79.                     //
  80.                     // The user has not yet confirmed the delete operation, so display
  81.                     // a confirmation dialog.
  82.                     //
  83.                     string message = String.Format( 
  84.                         Localization.GetString( "TEXT_DELETE_CONFIRMATION" ), 
  85.                         UDDI.Utility.StringEmpty( binding.AccessPoint.Value ) ? Localization.GetString( "HEADING_BINDING" ) : binding.AccessPoint.Value );
  86.                     
  87.                     Page.RegisterStartupScript(
  88.                         "Confirm",
  89.                         ClientScripts.Confirm(
  90.                             message,
  91.                             "editbinding.aspx?key=" + key + ( frames ? "&frames=true" : "" ) + "&mode=delete&confirm=true",
  92.                             "editbinding.aspx?key=" + key + ( frames ? "&frames=true" : "" ) ) );
  93.                                 
  94.                     break;
  95.                 }
  96.                 
  97.                 //
  98.                 // The user has confirmed the delete, so go ahead and delete
  99.                 // the entity.  Then reload the tree view.
  100.                 //
  101.                 
  102.                 if( !frames )
  103.                 {
  104.                     binding.Delete();
  105.                     Response.Redirect( "editservice.aspx?frames=false&key=" + binding.ServiceKey + ( null != Request[ "tab" ] ? "&tab=" + Request[ "tab" ] : "" ) );
  106.                 }
  107.                 else
  108.                 {
  109.                     Response.Write( 
  110.                         ClientScripts.ReloadExplorerAndViewPanes( 
  111.                             "editservice.aspx?frames=true&key=" + binding.ServiceKey + ( null != Request[ "tab" ] ? "&tab=" + Request[ "tab" ] : "" ),
  112.                             binding.ServiceKey ) );
  113.                     binding.Delete();                
  114.                 }
  115.                         
  116.                 Response.End();
  117.             
  118.                 break;
  119.             
  120.             default:
  121.                 binding.BindingKey = key;
  122.                 binding.Get();
  123.                 bindingInstanceInfos.Get( key );
  124.                 
  125.                 bindingKey.Text = key;
  126.             
  127.                 break;
  128.         }
  129.     }
  130.     
  131.     protected void Page_Load( object sender, EventArgs e )
  132.     {
  133.         if( !Page.IsPostBack )
  134.         {
  135.             Label link = (Label)bindDetail.ActiveControl.FindControl( "displayAccessPoint" );
  136.             link.Text = HttpUtility.HtmlEncode( binding.AccessPoint.Value );
  137.             
  138.             
  139.             Label labelUrlType = (Label)bindDetail.ActiveControl.FindControl( "displayUrlType" );
  140.             labelUrlType.Text = binding.AccessPoint.URLType.ToString().ToLower();
  141.         }
  142.         
  143.         
  144.         
  145.         descriptions.Initialize( binding.Descriptions, binding );
  146.         instanceInfos.Initialize( bindingInstanceInfos, binding, true );        
  147.         
  148.         if( !Page.IsPostBack && null != Request[ "tab" ] )
  149.             tabs.SelectedIndex = Convert.ToInt32( Request[ "tab" ] );    
  150.             
  151.         if( null!=Request[ "refreshExplorer" ] && frames  )
  152.         {
  153.             Response.Write( 
  154.                 ClientScripts.ReloadExplorerPane( binding.BindingKey )  
  155.             );
  156.         }        
  157.     }
  158.     protected void Page_PreRender( object sender, EventArgs e )
  159.     {
  160.         breadcrumb.Initialize( BreadCrumbType.Edit, EntityType.BindingTemplate, key );
  161.     }
  162.     public void Edit_OnClick( object sender, CommandEventArgs e )
  163.     {
  164.         bindDetail.SetEditMode();
  165.         
  166.         TextBox textBox = (TextBox)bindDetail.ActiveControl.FindControl( "editAccessPoint" );
  167.         textBox.Text = binding.AccessPoint.Value;
  168.  
  169.         DropDownList list = (DropDownList)bindDetail.ActiveControl.FindControl( "editUrlType" );
  170.         ListItem item = list.Items.FindByValue( ((int)binding.AccessPoint.URLType).ToString() );
  171.         
  172.         item.Selected = true;
  173.         
  174.         RequiredFieldValidator requiredName = (RequiredFieldValidator)bindDetail.ActiveControl.FindControl( "requiredAccessPoint" );
  175.         requiredName.ErrorMessage = Localization.GetString( "ERROR_FIELD_REQUIRED" );        
  176.     }
  177.     
  178.     protected void Update_OnClick( object sender, EventArgs e )
  179.     {
  180.         Update_OnClick( sender, null );
  181.     }
  182.  
  183.     public void Update_OnClick( object sender, CommandEventArgs e )
  184.     {
  185.         Page.Validate();
  186.         
  187.         if( Page.IsValid )
  188.         {
  189.             TextBox textBox = (TextBox)bindDetail.ActiveControl.FindControl( "editAccessPoint" );
  190.             binding.AccessPoint.Value = textBox.Text;
  191.             
  192.             ListItem listItem = ((DropDownList)bindDetail.ActiveControl.FindControl( "editUrlType" )).SelectedItem;
  193.             binding.AccessPoint.URLType = (URLType)Convert.ToInt32( listItem.Value );        
  194.             binding.Save();
  195.  
  196.             bindDetail.CancelEditMode();
  197.             
  198.             Label link = (Label)bindDetail.ActiveControl.FindControl( "displayAccessPoint" );
  199.             link.Text = HttpUtility.HtmlEncode( binding.AccessPoint.Value );
  200.             
  201.             
  202.             Label labelUrlType = (Label)bindDetail.ActiveControl.FindControl( "displayUrlType" );
  203.             labelUrlType.Text = binding.AccessPoint.URLType.ToString().ToLower();            
  204.             
  205.             Page.RegisterStartupScript(
  206.                 "Reload",
  207.                 ClientScripts.ReloadExplorerPane(
  208.                     binding.BindingKey ) );                    
  209.         }        
  210.     }
  211.     
  212.     public void Cancel_OnClick( object sender, CommandEventArgs e )
  213.     {
  214.         bindDetail.CancelEditMode();
  215.     }
  216.  
  217.     protected DataView GetUrlTypes()
  218.     {    
  219.         DataTable table = new DataTable();
  220.         DataRow row;
  221.  
  222.         table.Columns.Add( new DataColumn( "Name", typeof( string ) ) );
  223.         table.Columns.Add( new DataColumn( "Value", typeof( string ) ) );
  224.  
  225.         Array names = Enum.GetNames( typeof( URLType ) );
  226.         Array values = Enum.GetValues( typeof( URLType ) );
  227.         
  228.         for( int i = 0; i < names.Length; i ++ )
  229.         {
  230.             row = table.NewRow();
  231.             
  232.             row[ 0 ] = names.GetValue( i ).ToString().ToLower();
  233.             row[ 1 ] = ((int)values.GetValue( i )).ToString();
  234.             
  235.             table.Rows.Add( row );
  236.         }
  237.        
  238.         return table.DefaultView;
  239.     }
  240. </script>
  241.  
  242. <uddi:StyleSheetControl
  243.     Runat='server'
  244.     Default='../stylesheets/uddi.css' 
  245.     Downlevel='../stylesheets/uddidl.css' 
  246.     />
  247. <uddi:PageStyleControl 
  248.     Runat='server'
  249.     OnClientContextMenu='Document_OnContextMenu()'
  250.     Title="TITLE"
  251.     AltTitle="TITLE_ALT"
  252.     />
  253. <uddi:ClientScriptRegister
  254.     Runat='server'
  255.     Source='../client.js'
  256.     Language='javascript'
  257.     />
  258. <uddi:SecurityControl 
  259.     PublisherRequired='true' 
  260.     Runat='server' 
  261.     />
  262. <form runat='server'>
  263.  
  264. <table width='100%' border='0' height='100%' cellpadding='0' cellspacing='0'>
  265.         <asp:PlaceHolder
  266.             Id='HeaderBag'
  267.             Runat='server'
  268.             >
  269.             <tr height='95'>
  270.                 <td>
  271.                     <!-- Header Control Here -->
  272.                     <uddi:Header
  273.                         Runat='server' 
  274.                         />
  275.                 </td>
  276.             </tr>
  277.         </asp:PlaceHolder>
  278.         <tr height='100%' valign='top'>
  279.             <td>
  280.                 <uddi:BreadCrumb 
  281.                     Id='breadcrumb' 
  282.                     Runat='server' 
  283.                     />
  284.                 <table cellpadding='10' cellspacing='0' border='0' width='100%'>
  285.                     <tr>
  286.                         <td>
  287.                             <uddi:UddiLabel Text='[[HELP_BLOCK_PUBLISH_BINDING]]' CssClass='helpBlock' Runat='server' /><br>
  288.                             <br>
  289.                             <uddi:TabControl ID='tabs' Runat='server'>
  290.                                 <uddi:TabPage Name='TAB_DETAILS' Runat='server'>                            
  291.                                     <uddi:ContextualHelpControl 
  292.                                             Runat='Server'
  293.                                             Text='[[HELP_BLOCK_PUBLISH_BINDING_DETAILS]]'
  294.                                             HelpFile='publish.context.publishbindingdetails'
  295.                                             CssClass='tabHelpBlock'
  296.                                             BorderWidth='0'
  297.                                             />
  298.                                     
  299.                                     <br>
  300.                                     <uddi:UddiLabel Text='[[TAG_BINDING_KEY]]' CssClass='header' Runat='server' /><br>
  301.                                     <asp:Label id='bindingKey' Runat='server' /><br>
  302.                                     <br>
  303.                                     <uddi:EditControl id='bindDetail' 
  304.                                             OnEditCommand='Edit_OnClick' 
  305.                                             OnUpdateCommand='Update_OnClick' 
  306.                                             OnCancelCommand='Cancel_OnClick' 
  307.                                             Runat='server' >                                    
  308.                                         <EditItemTemplate>
  309.                                             <table width='100%' cellpadding='4' cellspacing='0' border='0'>
  310.                                                 <colgroup>
  311.                                                     <col width='0*'>
  312.                                                     <col width='154'>
  313.                                                 </colgroup>                                            
  314.                                                 <tr>
  315.                                                     <td class='tableHeader'>
  316.                                                         <uddi:StringResource Name='HEADING_ACCESS_POINT' Runat='Server' /></td>
  317.                                                     <td class='tableHeader'>
  318.                                                         <uddi:StringResource Name='HEADING_ACTIONS' Runat='Server' /></td>
  319.                                                 </tr>
  320.                                                 <tr valign='top'>                                                
  321.                                                     <td class='tableEditItem'>
  322.                                                         <uddi:LocalizedLabel 
  323.                                                                 Name='TAG_ACCESS_POINT' 
  324.                                                                 CssClass='lightHeader' 
  325.                                                                 Runat='Server' /><br>
  326.                                                         <uddi:UddiTextBox
  327.                                                                 id='editAccessPoint' 
  328.                                                                 Width='200px'
  329.                                                                 Columns='43' 
  330.                                                                 CssClass='textBox' 
  331.                                                                 MaxLength='255' 
  332.                                                                 Selected='true'
  333.                                                                 OnEnterKeyPressed='Update_OnClick'
  334.                                                                 Runat='server'/><br>
  335.                                                         <asp:RequiredFieldValidator
  336.                                                                 id='requiredAccessPoint'
  337.                                                                 ControlToValidate='editAccessPoint'
  338.                                                                 Display='Dynamic'
  339.                                                                 Runat='server'/>
  340.                                                         <br>
  341.                                                         <uddi:LocalizedLabel 
  342.                                                                 Name='TAG_URL_TYPE' 
  343.                                                                 CssClass='lightHeader' 
  344.                                                                 Runat='Server' /><br>
  345.                                                         <asp:DropDownList 
  346.                                                                 id='editUrlType' 
  347.                                                                 DataSource='<%# GetUrlTypes() %>' 
  348.                                                                 DataTextField='Name' 
  349.                                                                 DataValueField='Value' 
  350.                                                                 columns='43' 
  351.                                                                 CssClass='textBox' 
  352.                                                                 Runat='server' />
  353.                                                     </td>
  354.  
  355.                                                     <td class='tableEditItem'>
  356.                                                         <uddi:UddiButton 
  357.                                                                 Text='<%# Localization.GetString( "BUTTON_UPDATE" )%>' 
  358.                                                                 CommandName='update' 
  359.                                                                 Width='70px' 
  360.                                                                 CssClass='button' 
  361.                                                                 Runat='server' /> <uddi:UddiButton Text='<%# Localization.GetString( "BUTTON_CANCEL" )%>' CommandName='cancel' Width='70px' CssClass='button' Runat='server' /></td>
  362.                                                 </tr>
  363.                                             </table>                                            
  364.                                         </EditItemTemplate>
  365.                                         
  366.                                         <ItemTemplate>
  367.                                             <table width='100%' cellpadding='4' cellspacing='0' border='0'>
  368.                                                 <colgroup>
  369.                                                     <col width='0*'>
  370.                                                     <col width='154'>
  371.                                                 </colgroup>                                            
  372.                                                 <tr>
  373.                                                     <td class='tableHeader'>
  374.                                                         <uddi:StringResource Name='HEADING_ACCESS_POINT' Runat='Server' /></td>
  375.                                                     <td class='tableHeader'>
  376.                                                         <uddi:StringResource Name='HEADING_ACTIONS' Runat='Server' /></td>
  377.                                                 </tr>
  378.                                                 <tr valign='top'>
  379.                                                     <td class='tableItem'>
  380.                                                         <asp:Label ID='displayAccessPoint' width='255' Runat='server' /><br>
  381.                                                         (<asp:Label ID='displayUrlType' Runat='server' />)</td>
  382.                                                     <td class='tableItem'>
  383.                                                         <uddi:UddiButton 
  384.                                                                 Text='<%# Localization.GetString( "BUTTON_EDIT" )%>' 
  385.                                                                 CommandName='edit' 
  386.                                                                 Width='70px' 
  387.                                                                 CssClass='button' 
  388.                                                                 Runat='server' /></td>
  389.                                                 </tr>
  390.                                             </table>
  391.                                         </ItemTemplate>                                    
  392.                                     </uddi:EditControl><br>
  393.                                     <br>
  394.                                     <uddi:Descriptions ID='descriptions' Runat='server' />
  395.                                 </uddi:TabPage>
  396.                             
  397.                                 <uddi:TabPage Name='TAB_INSTANCES' Runat='server'>
  398.                                     <uddi:ContextualHelpControl 
  399.                                             Runat='Server'
  400.                                             Text='[[HELP_BLOCK_PUBLISH_BINDING_INSTANCES]]'
  401.                                             HelpFile='publish.context.bindinginstanceinfo'
  402.                                             CssClass='tabHelpBlock'
  403.                                             BorderWidth='0'
  404.                                             />
  405.                                                             
  406.                                     <br>
  407.                                     <uddi:InstanceInfos Id='instanceInfos' Runat='server' />
  408.                                 </uddi:TabPage>
  409.                             </uddi:TabControl>                                    
  410.                         </td>
  411.                     </tr>
  412.                 </table>
  413.             </td>
  414.         </tr>
  415.         <asp:PlaceHolder 
  416.             Id='FooterBag'
  417.             Runat='server'
  418.             >
  419.             <tr height='95'>
  420.                 <td>
  421.                     <!-- Footer Control Here -->
  422.                     <uddi:Footer
  423.                         Runat='server' 
  424.                         />
  425.                 </td>
  426.             </tr>
  427.         </asp:PlaceHolder>
  428.     </table> 
  429. </form>
  430.